1. Field of the Invention
The present invention relates to a failure analysis memory for semiconductor memory testing apparatus and, more particularly, to a failure analysis memory for memory testing apparatus which speeds up what is called a remove operation and hence reduces the time for testing semiconductor memories
2. Description of the Prior Art
Referring first to FIG. 1, a prior art example of memory testing apparatus will be described in brief.
In the testing of semiconductor memories, a pattern generator 20 responds to a reference clock CLK from a timing generator 10 to generate an address AD, test data TD, expectation data ED and a control signal CS. The address AD, the test data TD and the control signal CS are each shaped by a formatter 30 into a waveform necessary for testing, thereafter being applied to a memory under test 60. The memory under test 60 is controlled by the control signal CS so that the test data TD is written in the address AD or read out therefrom. The data RD read out of the address AD of the memory under test 60 is fed to a logic comparator 40, wherein it is compared with the expectation data ED from the pattern generator 20 for a match or mismatch therebetween to determine if the memory under test 60 is defective or nondefective. The mismatch is stored as failure data FD in a failure analysis memory 50 at the corresponding address AD. After the test, the contents of the failure analysis memory 50 are checked to analyze failing addresses of the memory under test 60.
Turning next to FIG. 2, a description will be given of how to use the failure analysis memory 50 in the test of semiconductor memories.
In general, the memory testing apparatus is designed to conduct a memory test in various modes; in one of such test modes, the memory is tested in three steps under test conditions (such as the test cycle or period, timing and the test voltage) of gradually increasing severity and the test results are analyzed for each step. In FIG. 2 there are shown examples of test results obtained on the memory 60 in the respective steps. Assume that the test conditions become more stringent in order of TEST1-TEST2-TEST3. Accordingly, when a certain address fails for the first time under some test conditions, it will also fail in subsequent tests under more stringent conditions. Reference numerals A0 to A7 denote addresses of the memory under test 60 and FD indicates that a mismatch is detected, at the address concerned, between the expectation data ED from the pattern generator 20 and the read-out data RD from the memory 60.
TEST1 indicates that the memory 60 is defective at the address A2. TEST2 indicates that the addresses A2 and A6 are defective, but it cannot be judged from TEST2 alone which address, A2 or A6, failed due to changes in the test conditions. Moreover, it is impossible to judge whether the addresses A2 and A6 are both decided as defective under the test conditions of TEST2. From TEST3 it can be judged that the addresses A2, A6 and A7 are defective, but it cannot be decided, either, which address failed because of having changed the test conditions to those of TEST3. In other words, the test conclusions on the address that failed in the previous test need to be ignored in the next test under severer conditions.
To meet this requirement, it is conventional to test the memory 60 at each stage after clearing the contents of the failure analysis memory 50 and then inhibiting the write therein of the comparison results on the address having failed in the previous test (i.e. inhibiting the logical comparison). To perform this, a failure data storage part and a mask data storage part are provided in the failure analysis memory 50 as described later on; upon completion of the test at each stage, failure data FD detected and written in the failure data storage part in the failure analysis memory 50 at that stage is written in the mask data storage part, inhibiting the logical comparison in the next test at the address for which the failure data has been written in the mask data storage part. The processing by which the failure data read out of the failure analysis memory is written in the mask data storage part at the corresponding address to generate the mask data is called a remove operation.
A description will be given, with reference to FIG. 3, of the generation of mask data by the remove operation. FIG. 3 shows states SF1, SF2 and SF3 of the failure data storage part 5A after the tests TEST1, TEST2 and TEST3 and states SM1 and SM2 of the mask data storage part 5B prior to the tests TEST1 and TEST2 in the failure analysis memory 50.
Prior to the start of the test TEST2, failure data stored in the failure data storage part 5A is written intact in a mask data storage part 5B which outputs data INH for inhibiting the logical comparison by the logical comparator 40. The state of the mask data storage part 5B at this time is the state SM1 in FIG. 3. As the result of this, a pass/fail decision on the address A2 written "MSK" is inhibited in the next test. Then, the data written in the memory under test 60 and the failure data in the failure data storage part 5A are erased, after which the test TEST2 is conducted. In TEST2, the logical comparator 40 provides information that the addresses A2 and A6 of the memory under test 60 are defective in this example, but the failure data about the address A2 is inhibited from being written in the failure data storage part 5A by the mask data MSK in the state SM1 of the mask data storage part 5B that inhibits the logical comparison on the address A2, and consequently, only the information that the address A6 is defective is stored in the failure data storage part 5A. The failure data storage part 5A is placed in state SF2 at this time.
Prior to the start of the test TEST3, too, the failure data in the failure data storage part 5A is similarly written in the mask data storage part 5B that generates the data INH for inhibiting the pass/fail decision by the logic comparator 40. At this time, however, it is necessary to rewrite or update the contents of the mask data storage part 5B by writing thereinto mask data on the address A6 having newly failed in TEST2 while maintaining the mask data on the address A2 for which the pass/fail decision was inhibited in TEST2. This is the afore-mentioned remove operation. The reason for this processing is that since TEST3 is intended to locate which address fails under test conditions severer than in TEST2, it is necessary to inhibit the pass/fail decision on the addresses having failed in TEST2 and TEST1 under test conditions less stringent than in TEST3. That is, the mask data storage part 5B enters the state SM2 in which to output information that inhibits the pass/fail decision on the address A2 in the state SM1 and information that inhibits the pass/fail decision corresponding to the failure of the address A6 in the state SM2. Next, the failure data stored in the failure data storage part 5A is erased, after which the test TEST3 is conducted. In TEST3, the failure data storage part 5A is placed in the state SF3 due to the mask data in the state SM2.
As a result, the place or address where the memory under test failed in TEST2 under test conditions severer than in TEST1 can be analyzed by reading out the contents of the failure data storage part 5A of the state SF2; likewise, the place or address where the memory under test failed in TEST3 under test conditions more stringent than in TEST2 can also be analyzed by reading out the contents of the failure data storage part 5A of the state SF3.
Turning next to FIG. 4, an example of the configuration of the conventional failure analysis memory 50 will be described.
The failure analysis memory 50 comprises an address select part 51, a mode select part 52 and two blocks 5A and 5B. The address select part 51 is made up of an address pointer 512 that generates an address in a remove mode of operation and an address multiplexer 511 that selectively outputs either one of the address from the address pointer 512 and the address from the pattern generator 20. In the illustrated example, from the viewpoints of efficiency in design and fabrication and general versatility, the block 5A containing a failure data memory 57A and the block 5B containing a mask data memory 57B have exactly the same construction so that during the test the block 5A, for instance, is used as a failure data storage part and the other block 5B as a mask data storage part.
The block 5A includes: a write enable generator 531A which generates write enable data; a multiplexer 532A which selects either one of the failure data FD from the logic comparator 40 and the write enable data in accordance with the setting of a mask mode register 52A of the mode select part 52; the failure data memory 57A; an OR circuit 535A by which, when the block 5B acts as a failure data storage part, data read out of the failure data memory 57A is ORed with failure data read out of the other block 5B operating as a failure data storage part; and a multiplexer 533A which selects either one of the output from the OR circuit 535A and logic "H" and provides it as mask data to the failure data memory 57A. Flip-flops 54A, 55A and 56A are used to delay data by a desired time interval and hold it. A shaper 534A shapes the write enable data, provided thereto from the multiplexer 532A via a flip-flop 536A, into a write enable signal of a proper width and timing for input into the failure data memory 57A.
The following description will be given on the assumption that the block 5A is used as the failure data storage part and the block 5B as the mask data storage part. Accordingly, the decision result (failure data) FD from the logic comparator 40 is input into the multiplexer 532A in the block 5A but it need not be fed to a multiplexer 532B in the block 5B. The mask data read out of the mask data memory 57B in the block 5B during the test is provided as an inhibit signal INH to the logic comparator 40 via a flip-flop 55B.
(a) Test Mode
In the test mode a remove mode register 521 and mask mode registers 52A and 52B are set at "L." By this, the address multiplexer 511 selects the address from the pattern generator 20 and provides it to the flip-flops 54A and 54B in the blocks 5A and 5B, specifying addresses in the failure data memory 57A and the mask data memory 57B, respectively. At this time, the multiplexer 532B in the block 5B is selecting its terminal A, but since the terminal A is being opened, the "L" output is provided; therefore, the mask data memory 57B is not supplied with the write enable signal via a flip-flop 536B and a shaper 534B and hence remains in a read mode. Consequently, mask data is read out of the mask data memory 57B and provided as the inhibit signal INH to the logic comparator 40 via the flip-flop 55B. When the inhibit signal INH is "H," the logical comparison by the logic comparator 40 is inhibited. When the inhibit signal INH is "L," the comparison result FD is selected by the multiplexer 532A in the block 5A and provided as the write enable signal to the failure data memory 57A via the flip-flop 536A and the shaper 534A. Accordingly, when INH="L" and FD="H," the "H" logic provided to the input terminal A of the multiplexer 533A is written in the failure data memory 57A at its specified address. When INH="H," the logic comparator 40 is inhibited from making the logical comparison, and hence FD="L" and no write is effected in the failure data memory 57A. As the result of this, based on the failure data FD on the address where the memory under test 60 has failed for the first time in the previous test, "H" logic is written in the corresponding address of the failure data memory 57A in the block (the failure data storage part) 5A.
Upon completion of the above test mode, an analysis is made of the address of the memory under test 60 that has failed for the first time in the test, and then the remove mode described below is executed to generate mask data for the subsequent test.
(b) Remove Mode
In this mode, "H" logic is set in the remove mode register 521 and the multiplexer 511 selects the output address from the address pointer 512 and provides it to the flip-flops 54A and 54B. On the other hand, "L" and "H" logic are set in the mask mode registers 52A and 52B, respectively. The address pointer 512 sequentially generates all addresses that are provided to the failure data memory 57A and the mask data memory 57B in common to them. The block 5A is not supplied with the failure data FD as the write enable data but instead data is read out of the failure data memory 57A at addresses sequentially specified by the address pointer 512 and held in the flip-flop 55A, from which the data is provided to an OR circuit 535B in the block (the mask data storage part) 5B. The mask data memory 57B in the block 5B is also read out at the same address and at the same timing as in the block 5A and the read-out mask data is held in the flip-flop 55B. The read-out mask data held in the flip-flop 55B is provided therefrom to the OR circuit 535B, wherein it is Ored with the read-out data from the failure data memory 57A in the block 5A, and the OR output is selected by a multiplexer 533B and held in a flip-flop 56B as mask data to be written. The write enable generator 531A generates write enable data so that the write enable signal for writing the mask data in the mask data memory 57B is applied to a write enable terminal /we of the mask data memory 57B at proper timing.
In the remove mode, as indicated in the states SF2 and SM2 in FIG. 3, for instance, the failure data on the address A6 having failed for the first time in the test, written in the failure data memory 57A in the block 5A is written as mask data in the mask data memory 57B at the corresponding address A6 via the OR circuit 535B in the block 5B and the mask data (data on the address A2) held so far in the block 5B (the mask data storage part) is written again in the same address (A2) via the OR circuit 535B.
Upon completion of data transfer from the failure data memory 57A to the mask data memory 57B in the remove mode, the contents of the failure data memory 57A in the block 5a and the contents of the memory under test 60 are cleared, after which the next test is conducted.
FIG. 5 is a timing chart showing the states of signals occurring at places (A) through (K) in FIG. 4 when the remove operation is performed using the block 5A in FIG. 4 as the failure data storage part of FIG. 3 and the block 5B as the mask data storage part. In FIG. 5, Row (A) shows addresses AD1, AD2, . . . from the address pointer 512 and Rows (B) and (E) respectively show data output via the flip-flops 54A and 54B to access the failure data memory 57A and the mask data memory 57B by the addresses from the address pointer 512. Rows (C) and (F) show the data RD read out of the failure data memory 57A and the mask data memory 57B, respectively, and Rows (D) and (G) the data RD output via the flip-flops 55A and 55B.
In the remove mode, since mask data is created which inhibits pass/fail decisions in the next test on the address for which the pass/fail decision has been inhibited and on the address which has newly failed in the current test, it is necessary that data (H), which is the OR of the data (D) and (G) read out of the same address, for example, AD1 of the failure data memory 57A and the mask data memory 57B, be newly written in the mask data memory 57B at the same address AD1. Since the block 5B is operated as the mask data storage part, the data (H) is provided as the output signal (I) from the multiplexer 533B and it is output as a signal (J) via the flip-lop 56B. The signal (J) is data that is newly written in the mask data memory 57B at the address AD1. This data is written in the mask data memory 57B by write enable data (K) generated by the write enable generator 531B.
As shown in FIG. 4, the address AD1 of the mask data memory 57B in which the above write is effected is the address (E) held in the flip-flop 54B. That is, in the conventional remove mode the address (E) in the flip-flop 54B needs to be held AD1 until after completion of three cycles of reading out data from every address of the failure and mask data memories 57A and 57B, ORing the read-out data and writing the OR data in the mask data memory 57B. The remove operation on the next address AD2 can be performed before only after the end of the write cycle.
In recent years, memories to be tested have become increasingly large-capacity as typified by DRAMs; the failure analysis memory for analyzing failures of such large-capacity memories are also made large in capacity correspondingly. Since the above-mentioned remove operation also involves a sequence of steps for each address, the time for remove operation also increases with an increase in the memory capacity. With this being the situation, it is important in the reduction of the memory testing time how to shorten the remove operation time.
Incidentally, the sequence of remove operations for creating the mask data consists of three cycles, i.e. the memory readout cycle, the data combining (ORing) cycle and the memory write cycle as indicated by the period TAD on Row (A) in FIG. 5, and since data is read out of and written in the memory at the same address during the three cycles, the value of the address pointer must be held all the while.